#include"../file_h/order_queue.h"
bool is_empty_queue(Queue *q){
    return q->front==q->rear;
}

int peek_Queue(Queue *q) {
    if (!is_empty_queue(q)) {
        return q->data[(q->front)];
    }
    return -1;
}

void clear_queue(Queue *q) {
    q->front = q->rear = 0;
}


Queue *Init_queue(){
    Queue *q=(Queue *)malloc(sizeof(Queue));
    q->front=q->rear=0;
    return q;
}

void add_Queue(Queue *q,datatype x){
    if(q->rear==MAXSIZE){
        printf("Queue is full\n");
        return;
    }
    q->data[q->rear++]=x;
}

datatype out_Queue(Queue *q){
    if(q->front==q->rear){
        printf("Queue is empty\n");
        return -1;
    }
    return q->data[q->front++];
}

void print_queue(Queue *q){
    for(int i=q->front;i<q->rear;i++){
        printf("%d ",q->data[i]);
    }
}
